A New Approach for Concurrent Program Slicing
نویسنده
چکیده
Regarding the progress made in model analysis, more complex models, and consequently more complex programs can now be analyzed. However, this remains a difficult task in particular for concurrent programs which induce a lot of combinatory. Another way to reduce this complexity is to use program decomposition. Program decomposition technics extract a part of a given program while preserving the behavior of the original program w.r.t. a specified property. Q analyzes concurrent Ada programs, using program slicing as decomposition technic. The program slicer is built using the ASIS tools, that provides syntactic and semantic informations on an Ada source code. These informations can be considered as the “semantic and syntactic graph” mapping an Ada program. This allows to save building the graphs used by traditional program slicing technics and thus to design a simpler and more evolutive algorithm. This paper presents Y, the program slicer used by Q, describes the method used to slice concurrent Ada programs and illustrates with two significant examples how concurrent programs analysis can take advantage of program slicing for reducing the analyzed program complexity.
منابع مشابه
Slicing Concurrent Programs - A Graph-Theoretical Approach
This paper extends the notion of slicing, which was originally proposed and studied for sequential programs, to concurrent programs and presents a graph-theoretical approach to slicing concurrent programs. In addition to the usual control and data dependences proposed and studied for sequential programs, the paper introduces three new types of primary program dependences in concurrent programs,...
متن کاملSlicing Concurrent Logic Programs
Program slicing has been widely studied for imperative programs, but for logic programs it is just starting. In this paper we address the problem of slicing concurrent logic programs. To solve this problem, we propose three types of primary program dependences between arguments in concurrent logic programs, named the sharing dependence, communication dependence and uni cation dependence. We als...
متن کاملAn Approach to Slicing Concurrent Ada Programs Based on Program Reachability Graphs
Program slicing is an important technique applied in many software engineering activities, such as program debugging, testing, maintenance, measurement, reengineering and etc. This paper presents an effective representation for concurrent Ada programs, which is called task communication reachability graph (TCRG). Based on TCRG, we can precisely determine various dependences in concurrent Ada pr...
متن کاملComputing Executable Slices for Concurrent Logic Programs
Program Slicing has many applications in software engineering activities. However, until recently, no slicing algorithm has been presented that can compute executable slices for concurrent logic programs. In this paper we present a dependence-graph based approach to computing executable slice for concurrent logic programs. The dependence-based representation used in this paper is called the Arg...
متن کاملDynamic Slicing of Concurrent Programs : Where are We and Where is the Right Way ? ( Extended
Program slicing has been developed as a standard technique used in various software engineering activit ies including program understanding, testing, debugging, maintenance, and complexity measurement. Although both static and dynamic slicing of sequential programs have been applied to software engineering practices, there still are some challenges, problems and issues in slicing concurrent pro...
متن کامل